<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>简介</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="book.sdo.html">SDO</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="sdo.setup.html">安装／配置</a></div>
 <div class="up"><a href="book.sdo.html">SDO</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="intro.sdo" class="preface">
  <h1 class="title">简介</h1>
  <p class="para">
   Service Data Objects (SDOs) enable PHP applications to work with
   data from different sources (like a database query, an XML file, 
   and a spreadsheet) using a single interface.
  </p>
  <p class="para">
   Each different kind of data source requires a Data Access Service 
   (DAS) to provide access to the data in the data source.
   In your PHP application, you use a DAS to create an SDO 
   instance that represents some data in the data source.  You can then 
   set and get values in the SDO instance using the standard SDO 
   interface.  Finally, you use a DAS to write the modified data back
   to a data source, typically the same one.
  </p>
  <p class="para">
   See the
   <a href="ref.sdo.html#sdo.das.table" class="link">list of Data Access Services</a>
   for details on those
   currently available.  In addition to the provided DASs, SDO also
   provides interfaces to enable others to be implemented 
   (see the section on <a href="ref.sdo.html#sdo.class.sdo-das-spis" class="link">SDO Data
   Access Services Interface</a> for more details).
  </p>
   <p class="para">
    This extension is derived from concepts taken from the
    <a href="http://www.ibm.com/developerworks/webservices/library/specification/ws-sdo/" class="link external">&raquo;&nbsp;Service Data Objects specification</a>.
    It includes a version of the
    <a href="http://tuscany.apache.org/" class="link external">&raquo;&nbsp;Apache Tuscany</a> SDO for C++ project.
  </p>
  <div class="section" id="sdo.intro.structure">
   <h2 class="title">The Structure of a Service Data Object</h2>
   <p class="para">
    A Service Data Object instance is made up of a tree of data objects.
    The tree is defined by containment relationships between the data 
    objects.  For example, a Company data object might consist of a number 
    of Department data objects and therefore the Company would have 
    a containment relationship to the Departments.  
   </p>
   <p class="para"> An SDO may also have non-containment references between data objects in the
    tree. For example, one Employee data object might reference another Employee to
    identify a career mentor. 
   </p>
   <p class="para">
    As well as data objects referencing each other, they can also have
    primitive properties.  For example, the Company data object might
    have a property called &quot;name&quot; of type string, for holding the name
    of the company (for example, &quot;Acme&quot;).
   </p>
   <p class="para"> Each of these properties of a data object - containment relationships,
    non-containment references, or primitive properties - may be many-valued or
    single-valued. In the above examples, Departments is many-valued and
   the Company name is single-valued.
   </p>
   <p class="para"> In PHP, each SDO data object is represented as a PHP object. The properties of the
    data object can be accessed using either object syntax or associative array syntax.
    We&#039;ll see some examples of this later.
   </p>
  </div>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="book.sdo.html">SDO</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="sdo.setup.html">安装／配置</a></div>
 <div class="up"><a href="book.sdo.html">SDO</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
